﻿    using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SIGEB.Modelo.moduloTipoDocumentos
{
    public class condicion_Rango_numero2:condicion
    {
        public condicion_Rango_numero2(atributo actual, atributo limite, int operador)
            : base(actual)
        {
            this.actual = actual;
            this.limite = limite;
            this.operador = operador;
            this.tipo = 2;
        }

        public override bool valido()
        {

            long _actual;
            try
            {
                _actual = long.Parse(actual.valorCampo);
            }
            catch (Exception)
            {
                return false;
            }
            long _limite;

            try
            {
                _limite = long.Parse(limite.valorCampo);
            }
            catch (Exception)
            {
                return false;
            }
            switch (operador)
            {
                case 1:
                    return _actual == _limite;
                case 2:
                    return _actual != _limite;
                case 3:
                    return _actual > _limite;
                case 4:
                    return _actual < _limite;
                case 5:
                    return _actual >= _limite;
                case 6:
                    return _actual <= _limite;
                default:
                    throw new Exception("Operador inválido");
            }

        }

        private atributo actual;
        private atributo limite;
        private int operador;    
    }
}
